1. Field of the Invention
The present invention is intended to provide improved solutions in a computer system having an N bit word oriented architecture which can directly address primary memory space limited to 2.sup.N-1 words of N bits each or 2.sup.N characters of N/2 bits each whereby the total capacity of primary memory is extended beyond said specified limits although the directly addressable range of said primary memory space available to individual programs composed of instructions and data is still restricted to said specified limits.
2. Description of the Prior Art
Many minicomputers and microcomputers employ an architecture with 16 bit words and addresses and have conventionally a direct addressing range of 65536 (64K) words of 16 bits each, where 1K is equivalent to 1024. In many applications, it is desirable for reasons of flexibility and efficiency to have also the capability of directly addressing and operating on characters of half-word length. Therefore 1 bit in the address word is often reserved for direct character addressing, that is selection of the right or left hand character of 8 bits (odd/even character) in a 16 bit word. This further restricts the absolute directly addressable memory to a maximum of 32K words or 64K characters. With the increasing sophistication of both microcomputer and minicomputer applications in the fields of science and computer aided design, a larger directly addressable memory space is desirable to accommodate the larger application or user program requirements for instructions and particularly data. Hereinafter, "user program" is synonymous with "application program" and "code" with "instruction".
The provision of memory management, explained in greater detail hereinafter, permits the total primary memory capacity to be increased beyond the stated limits by the utilization of a segment table containing segment registers which map pages of individual programs into physical memory whose total capacity is greater than the 32K words of directly addressable memory space. However the directly addressable memory available to the user is still limited to 32K words as the user must still use a 16 bit program address. Thus the user is still required to write his application program either in less than 32K words, or if this is not practical to partition the program into several modules, each of which must fit into 32K words. This often proves to be an inefficient technique in terms of memory space utilization and program execution speed.
One solution to this problem widens all data and control paths, for example, from 16 to 32 bits. However, this is expensive and raises problems of compatibility with software designed for existing 16 bit, word oriented systems within the same computer family.
Other solutions proposing total separation of code and data could also increase the directly addressable memory space while imposing rigid limitations on the size of data and code sections.
An overview of known solutions is given in "Electronics" Nov. 8, 1973, pages 107-112.